perm filename ALBINO[E87,JMC] blob
sn#844251 filedate 1987-08-10 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 albino[e87,jmc] Handling albino by reification
C00004 ENDMK
C⊗;
albino[e87,jmc] Handling albino by reification
normalcolor elephants = gray
∀x. elephant x ⊃ type x = elephants
∀x. hascolor type x ∧ ¬ab17 x ⊃ color x = normalcolor type x
It is elaboration tolerant with respect to the predicate albino,
since we only need add
∀x. albino x ⊃ ab17 x.
We'll probably also want albinos as a type, though I don't
immediately see how to use it. This assumes that an object has a unique
type. Can we improve this?
Second version:
normalcolor elephants = gray
normalcolor bears = {black,brown,white}
∀x. elephant x ≡ hastype(x,elephants)
This is just a definition of the unary predicate elephant.
hastype(Clyde,elephants)
species Clyde = elephants
∀x y. hastype(x,y) ∧ ¬ab17(x,y) ⊃ color x = normalcolor y
Here it is less obvious what to do about the predicate albino.
Maybe we want
∀x y. hastype(x,y) ∧ animaltype y ∧ albino x ⊃ ab17(x,y)
and
animaltype elephants.